home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / misc / volume10 / pccurses14 / part05 < prev    next >
Encoding:
Text File  |  1990-01-19  |  41.8 KB  |  1,197 lines

  1. Newsgroups: comp.sources.misc
  2. subject: v10i019: PCcurses v.1.4 part 5 of 7
  3. from: bl@infovox.se (Bj|rn Larsson)
  4. Sender: allbery@uunet.UU.NET (Brandon S. Allbery - comp.sources.misc)
  5.  
  6. Posting-number: Volume 10, Issue 19
  7. Submitted-by: bl@infovox.se (Bj|rn Larsson)
  8. Archive-name: pccurses14/part05
  9.  
  10. # ----------------------------- cut here -----------------------------
  11. #! /bin/sh
  12. # This is a shell archive. Remove anything before the `cut' line,
  13. # then unpack by saving it into a file and typing `sh file'. The
  14. # archive ends by exit(0), so don't worry about trailing junk.
  15. #       (This is archive 5 in a series of 7).
  16. # Contents:
  17. #   curses.h
  18. #   makefile.msc
  19. #   makefile.trc
  20. # Wrapped by USER@MS-DOS --- Sun Jan 14 14:02:47 1990
  21. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  22. if test -f curses.h -a "${1}" != "-c" ; then 
  23.   echo Will not over-write existing file \"curses.h\"
  24. else
  25. echo Extracting - \"curses.h\"
  26. sed "s/^X//" >curses.h <<'END_OF_curses.h'
  27. X/****************************************************************/
  28. X/*                CURSES.H                */
  29. X/* Header file for definitions and declarations for the        */
  30. X/* PCcurses package. This should be #include'd in all user    */
  31. X/* programs.                            */
  32. X/****************************************************************/
  33. X/* This version of curses is based on ncurses, a curses version    */
  34. X/* originally written by Pavel Curtis at Cornell University.    */
  35. X/* I have made substantial changes to make it run on IBM PC's,    */
  36. X/* and therefore consider myself free to make it public domain.    */
  37. X/*                Bjorn Larsson (bl@infovox.se)    */
  38. X/****************************************************************/
  39. X/* 1.4:  Window origin mod in overlay() and overwrite(),    */
  40. X/*     on public (and very reasonable) request. Swapped    */
  41. X/*     #define'd values of OK and ERR; OK now 1, and        */
  42. X/*     ERR is 0/NULL. Conforms better to UNIX versions.    */
  43. X/*     borderchars[] removed from WINDOW struct since        */
  44. X/*     the border() functions were re-defined. Use of        */
  45. X/*     short wherever possible. Portability improve-        */
  46. X/*     ments, mispelled name of [w]setscrreg():    900114    */
  47. X/* 1.3:     All modules lint-checked with MSC '-W3' and        */
  48. X/*     Turbo'C' '-w -w-pro' switches. Support for        */
  49. X/*     border(), wborder() functions:            881005    */
  50. X/* 1.2:     Rcsid[] string in all modules, for mainte-        */
  51. X/*     nance:                        881002    */
  52. X/* 1.1:     'Raw' output routines, revision info in        */
  53. X/*     curses.h:                    880306    */
  54. X/* 1.0:     Release:                    870515    */
  55. X/****************************************************************/
  56. X
  57. X/* general definitions */
  58. X
  59. X#ifndef     bool
  60. X#define  bool        char        /* boolean type */
  61. X#endif
  62. X
  63. X#ifndef     TRUE
  64. X#define     TRUE        1        /* booleans */
  65. X#endif
  66. X
  67. X#ifndef     FALSE
  68. X#define     FALSE        0
  69. X#endif
  70. X
  71. X#define     ERR        0        /* general error flag */
  72. X#define     OK        1        /* general OK flag */
  73. X
  74. X/* functions defined as macros */
  75. X
  76. X#define getch()       wgetch(stdscr)    /* using macroes allows you to use */
  77. X#define    ungetch(c) wungetch(c)        /* #undef getch/ungetch in your */
  78. X                    /* programs to use MSC/TRC getch() */
  79. X                    /* and ungetch() routines */
  80. X
  81. X#define getyx(win,y,x)       (y = (win)->_cury, x = (win)->_curx)
  82. X
  83. X#ifndef max
  84. X#define max(a,b) (((a) > (b)) ? (a) : (b))
  85. X#endif
  86. X#ifndef min
  87. X#define min(a,b) (((a) < (b)) ? (a) : (b))
  88. X#endif
  89. X
  90. X/* video attribute definitions. Colour definitions for */
  91. X/* CGA/EGA should also go here... */
  92. X
  93. X#define    A_ALTCHARSET   0
  94. X#define    A_BLINK        0x100
  95. X#define    A_BLANK        0x200
  96. X#define    A_BOLD         0x400
  97. X#define    A_DIM          0
  98. X#define    A_PROTECT      0
  99. X#define    A_REVERSE      0x800
  100. X#define    A_STANDOUT     0x1000
  101. X#define    A_UNDERLINE    0x2000
  102. X
  103. X/* function and keypad key definitions. Many are just for compatibility */
  104. X
  105. X#define KEY_BREAK      0x101        /* Not on PC */
  106. X#define KEY_DOWN       0x102        /* The four arrow keys */
  107. X#define KEY_UP         0x103
  108. X#define KEY_LEFT       0x104
  109. X#define KEY_RIGHT      0x105
  110. X#define KEY_HOME       0x106        /* Home key */
  111. X#define KEY_BACKSPACE  0x107        /* Not on PC */
  112. X#define KEY_F0         0x108        /* Function keys. Space for */
  113. X#define KEY_F(n)       (KEY_F0+(n)) /*  64 keys is reserved. */
  114. X#define KEY_DL         0x148        /* Not on PC */
  115. X#define KEY_IL         0x149        /* Insert line */
  116. X#define KEY_DC         0x14a        /* Delete character */
  117. X#define KEY_IC         0x14b        /* Insert char or enter insert mode */
  118. X#define KEY_EIC        0x14c        /* Exit insert char mode */
  119. X#define KEY_CLEAR      0x14d        /* Clear screen */
  120. X#define KEY_EOS        0x14e        /* Clear to end of screen */
  121. X#define KEY_EOL        0x14f        /* Clear to end of line */
  122. X#define KEY_SF         0x150        /* Scroll 1 line forward */
  123. X#define KEY_SR         0x151        /* Scroll 1 line backwards (reverse) */
  124. X#define KEY_NPAGE      0x152        /* Next page */
  125. X#define KEY_PPAGE      0x153        /* Previous page */
  126. X#define KEY_STAB       0x154        /* Set tab */
  127. X#define KEY_CTAB       0x155        /* Clear tab */
  128. X#define KEY_CATAB      0x156        /* Clear all tabs */
  129. X#define KEY_ENTER      0x157        /* Enter or send (unreliable) */
  130. X#define KEY_SRESET     0x158        /* soft (partial) reset (unreliable) */
  131. X#define KEY_RESET      0x159        /* reset or hard reset (unreliable) */
  132. X#define KEY_PRINT      0x15a        /* print or copy */
  133. X#define KEY_LL         0x15b        /* home down or bottom (lower left) */
  134. X#define KEY_ABORT      0x15c        /*  Abort/Terminate key (any) */
  135. X#define KEY_SHELP      0x15d        /* Short help */
  136. X#define KEY_LHELP      0x15e        /* Long help */
  137. X
  138. X/* type declarations */
  139. X
  140. Xtypedef struct
  141. X  {
  142. X  short       _cury;            /* Current pseudo-cursor */
  143. X  short       _curx;
  144. X  short       _maxy;            /* Max coordinates */
  145. X  short       _maxx;
  146. X  short       _begy;            /* Origin on screen */
  147. X  short       _begx;
  148. X  short       _flags;            /* Window properties */
  149. X  short       _attrs;            /* Attributes of written characters */
  150. X  short       _tabsize;            /* Tab character size */
  151. X  bool       _clear;            /* Causes clear at next refresh */
  152. X  bool       _leave;            /* Leaves cursor as it happens */
  153. X  bool       _scroll;            /* Allows window scrolling */
  154. X  bool       _nodelay;            /* Input character wait flag */
  155. X  bool       _keypad;            /* Flags keypad key mode active */
  156. X  short   **_line;            /* Pointer to line pointer array */
  157. X  short      *_minchng;            /* First changed character in line */
  158. X  short      *_maxchng;            /* Last changed character in line */
  159. X  short       _regtop;            /* Top of scrolling region */
  160. X  short       _regbottom;            /* Bottom of scrolling region */
  161. X  }    WINDOW;
  162. X
  163. X/* External variables */
  164. X
  165. Xextern    int    LINES;            /* terminal height */
  166. Xextern    int    COLS;            /* terminal width */
  167. Xextern    WINDOW *curscr;            /* the current screen image */
  168. Xextern    WINDOW *stdscr;            /* the default screen window */
  169. X
  170. X/* PCcurses function declarations */
  171. X
  172. Xextern    int     addch();        /* put char in stdscr */
  173. Xextern    int     addrawch();        /* put char in stdscr, raw */
  174. Xextern    int     addstr();        /* put string in stdscr */
  175. Xextern    void     attrset();        /* set stdscr char attributes */
  176. Xextern    void     attroff();        /* clear attribute(a) stdscr */
  177. Xextern    void     attron();        /* add attribute(s) stdscr */
  178. Xextern    int     baudrate();        /* compatibility dummy */
  179. Xextern    void     beep();        /* sound bell */
  180. Xextern    void     border();        /* Set non-std box characters */
  181. Xextern    void     box();            /* draw a box around a window */
  182. Xextern    void     cbreak();        /* set terminal cbreak mode */
  183. Xextern    void     clear();        /* clear stdscr */
  184. Xextern    void     clearok();        /* marks a window for screen clear */
  185. Xextern    int     clrtobot();        /* clear end of stdscr */
  186. Xextern    int     clrtoeol();        /* clear end of line in stdscr */
  187. Xextern    void     crmode();        /* set terminal cbreak mode */
  188. Xextern    void     cursoff();        /* turns off hardware cursor */
  189. Xextern    void     curson();        /* turns on hardware cursor */
  190. Xextern    void     def_prog_mode();    /* save TTY modes */
  191. Xextern    void     def_shell_mode();    /* compatibility dummy */
  192. Xextern    int     delch();        /* delete a char in stdscr */
  193. Xextern    int     deleteln();        /* delete a line in stdscr */
  194. Xextern    void     delwin();        /* delete a window or a subwindow */
  195. Xextern  void     doupdate();        /* update physical screen */
  196. Xextern    void     echo();        /* set terminal echo mode */
  197. Xextern    int     endwin();        /* cleanup and finitialization */
  198. Xextern    void     erase();        /* erase stdscr */
  199. Xextern    int     erasechar();        /* return char kill character */
  200. Xextern    int     fixterm();        /* compatibility dummy */
  201. Xextern    void     flash();        /* flash terminal screen */
  202. Xextern    void     flushinp();        /* kill pending keyboard input */
  203. Xextern  int     getstr();        /* get string to stdscr and buffer */
  204. Xextern    int     gettmode();        /* compatibility dummy */
  205. Xextern    void     idlok();        /* use ins/del line (dummy) */
  206. Xextern    int     initscr();        /* curses initialization */
  207. Xextern  int     inch();        /* get char at stdscr cursor */
  208. Xextern    int     insch();        /* insert character in stdscr */
  209. Xextern    int     insrawch();        /* insert character in stdscr, raw */
  210. Xextern    int     insertln();        /* insert new line in stdscr */
  211. Xextern    void     keypad();        /* marks a window for keypad usage */
  212. Xextern    int     killchar();        /* return line kill character */
  213. Xextern    char    *longname();        /* terminal description */
  214. Xextern    void     leaveok();        /* marks window for cursor 'leave' */
  215. Xextern    void     meta();        /* marks window for meta (dummy) */
  216. Xextern    int     move();        /* move cursor in stdscr */
  217. Xextern    int     mvaddch();        /* move & put char in stdscr */
  218. Xextern    int     mvaddrawch();        /* move & put char in stdscr, raw */
  219. Xextern    int     mvaddstr();        /* move & put string in stdscr */
  220. Xextern    int     mvclrtobot();        /* move & clear end of stdscr */
  221. Xextern    int     mvclrtoeol();        /* move & clear lineend in stdscr */
  222. Xextern    int     mvcur();        /* move terminal cursor */
  223. Xextern    int     mvdelch();        /* move & delete a char in stdscr */
  224. Xextern    int     mvdeleteln();        /* move & delete a line in stdscr */
  225. Xextern    int     mvgetch();        /* move & get char to stdscr */
  226. Xextern    int     mvgetstr();        /* move & get string to stdscr */
  227. Xextern    int     mvinch();        /* move & get char at stdscr cursor */
  228. Xextern    int     mvinsch();        /* move & insert char in stdscr */
  229. Xextern    int     mvinsrawch();        /* move & insert raw char in stdscr */
  230. Xextern    int     mvinsertln();        /* move & insert new line in stdscr */
  231. Xextern    int     mvprintw();        /* move & print string in stdscr */
  232. Xextern    int     mvscanw();        /* move & get values via stdscr */
  233. Xextern    int     mvwaddch();        /* move & put char in a window */
  234. Xextern    int     mvwaddrawch();        /* move & put char in a window, raw */
  235. Xextern    int     mvwaddstr();        /* move & put string in a window */
  236. Xextern    int     mvwclrtobot();        /* move & clear end of a window */
  237. Xextern    int     mvwclrtoeol();        /* move & clear lineend in a window */
  238. Xextern    int     mvwdelch();        /* move & delete a char in a window */
  239. Xextern    int     mvwdeleteln();        /* move & delete a line in a window */
  240. Xextern    int     mvwgetch();        /* move & get char to a window */
  241. Xextern    int     mvwgetstr();        /* move & get string to a window */
  242. Xextern    int     mvwinch();        /* move & get char at window cursor */
  243. Xextern    int     mvwinsch();        /* move & insert char in a window */
  244. Xextern    int     mvwinsrawch();        /* move & insert raw char in window */
  245. Xextern    int     mvwinsertln();        /* move & insert new line in window */
  246. Xextern    int     mvwin();        /* move window */
  247. Xextern    int     mvwprintw();        /* move & print string in a window */
  248. Xextern    int     mvwscanw();        /* move & get values via a window */
  249. Xextern    WINDOW    *newwin();        /* create a window */
  250. Xextern    void     nl();            /* set terminal cr-crlf map mode */
  251. Xextern    void     nocbreak();        /* unset terminal cbreak mode */
  252. Xextern    void     nocrmode();        /* unset terminal cbreak mode */
  253. Xextern    void     nodelay();        /* marks window for no input wait */
  254. Xextern    void     noecho();        /* unset terminal echo mode */
  255. Xextern    void     nonl();        /* unset terminal cr-crlf map mode */
  256. Xextern    void     noraw();        /* unset raw terminal mode */
  257. Xextern    void     overlay();        /* overlay one window on another */
  258. Xextern    void     overwrite();        /* overwrite one window on another */
  259. Xextern    int     printw();        /* print string in stdscr */
  260. Xextern    void     raw();            /* set raw terminal mode */
  261. Xextern    void     refrbrk();        /* set screen refresh break mode */
  262. Xextern    void     refresh();        /* refresh stdscr */
  263. Xextern    int     resetterm();        /* compatibility dummy */
  264. Xextern    int     resetty();        /* restore terminal I/O modes */
  265. Xextern    void     reset_prog_mode();    /* restore terminal I/O modes */
  266. Xextern    void     reset_shell_mode();    /* set terminal to default modes */
  267. Xextern    int     saveoldterm();        /* compatibility dummy */
  268. Xextern    int     saveterm();        /* compatibility dummy */
  269. Xextern    int     savetty();        /* save terminal I/O modes */
  270. Xextern    int     scanw();        /* get values via stdscr */
  271. Xextern    void     scroll();        /* scroll region in a window */
  272. Xextern    void     scrollok();        /* marks a window to allow scroll */
  273. Xextern    int     setscrreg();        /* define stdscr's scroll region */
  274. Xextern    int     setterm();        /* compatibility dummy */
  275. Xextern    int     setupterm();        /* set up terminal (no-op) */
  276. Xextern    void     standend();        /* start normal chars in stdscr */
  277. Xextern    void     standout();        /* start standout chars in stdscr */
  278. Xextern    WINDOW    *subwin();        /* create a sub-window */
  279. Xextern    int     tabsize();        /* set/get tabsize of stdscr */
  280. Xextern    void     touchwin();        /* mark a window as modified */
  281. Xextern    char    *unctrl();        /* char-to-string converter */
  282. Xextern    int     waddch();        /* put char in a window */
  283. Xextern    int     waddrawch();        /* put char in a window, raw */
  284. Xextern    int     waddstr();        /* put string in a window */
  285. Xextern    void     wattroff();        /* clear attribute(a) in window */
  286. Xextern    void     wattron();        /* add attribute(s) in window */
  287. Xextern    void     wattrset();        /* set window char attributes */
  288. Xextern    void     wborder();        /* Set non-std box characters */
  289. Xextern    int     wbox();        /* draw a box inside a window */
  290. Xextern    void     wclear();        /* clear a window */
  291. Xextern    int     wclrtobot();        /* clear end of a window */
  292. Xextern    int     wclrtoeol();        /* clear end of line in a window */
  293. Xextern    int     wdelch();        /* delete a char in a window */
  294. Xextern    int     wdeleteln();        /* delete a line in a window */
  295. Xextern    void     werase();        /* erase a window */
  296. Xextern    int     wgetch();        /* get char to a window */
  297. Xextern  int     wgetstr();        /* get string to window and buffer */
  298. Xextern    int     winch();        /* get char at window cursor */
  299. Xextern    int     winsch();        /* insert character in a window */
  300. Xextern    int     winsrawch();        /* insert raw character in a window */
  301. Xextern    int     winsertln();        /* insert new line in a window */
  302. Xextern    int     wmove();        /* move cursor in a window */
  303. Xextern    void     wnoutrefresh();    /* create screen image, w/o display */
  304. Xextern    int     wprintw();        /* print string in a window */
  305. Xextern    void     wrefresh();        /* refresh screen */
  306. Xextern    int     wscanw();        /* get values via a window */
  307. Xextern    int     wsetscrreg();        /* define a window's scroll region */
  308. Xextern    void     wstandend();        /* start normal chars in window */
  309. Xextern    void     wstandout();        /* start standout chars in window */
  310. Xextern    int     wtabsize();        /* set/get tabsize of a window */
  311. Xextern    int     wungetch();        /* character push-back */
  312. END_OF_curses.h
  313. if test 13717 -ne `wc -c <curses.h`; then
  314.     echo \"curses.h\" unpacked with wrong size!
  315. fi
  316. # end of overwriting check
  317. fi
  318. if test -f makefile.msc -a "${1}" != "-c" ; then 
  319.   echo Will not over-write existing file \"makefile.msc\"
  320. else
  321. echo Extracting - \"makefile.msc\"
  322. sed "s/^X//" >makefile.msc <<'END_OF_makefile.msc'
  323. X#################################################################
  324. X#                PCCURSES                #
  325. X#                                #
  326. X# Makefile to generate $(MODEL)curses.lib            #
  327. X# For MicroSoft 'C' v.3.0, 4.0 and 5.1.                #
  328. X#                                #
  329. X# This makefile will generate subdirectories and call itself    #
  330. X# recursively. Some entries in this makefile are only for    #
  331. X# the author's personal use (I preferred to keep my own stuff    #
  332. X# in the same place). Those are at the end of the makefile.    #
  333. X#################################################################
  334. X# 1.4:    Release:                    900114    #
  335. X#################################################################
  336. X
  337. X# The following are the directories where your lib and include
  338. X# files will be installed. These need to be edited for your
  339. X# system. Here are also the default C compiler and the standard
  340. X# compilation flags. Change those if you want to. These are the
  341. X# only changes that should be made to the makefile, unless you
  342. X# have something special in mind... 
  343. X
  344. XLIBDIR=\msc\lib
  345. XINCDIR=\msc\inc
  346. XMANDIR=\man
  347. XCC=cl
  348. XCFLAGS=-M$(MODEL) -c -Ox -W2
  349. X
  350. X#################################################################
  351. X# End of customizable stuff                    #
  352. X#################################################################
  353. X
  354. XOBJS=        attrib.obj   beep.obj     border.obj   boxes.obj     \
  355. X        charadd.obj  chardel.obj  charget.obj  charins.obj   \
  356. X        charpick.obj clrtobot.obj clrtoeol.obj endwin.obj    \
  357. X        initscr.obj  linedel.obj  lineins.obj  longname.obj  \
  358. X        move.obj     mvcursor.obj newwin.obj   options.obj   \
  359. X        overlay.obj  prntscan.obj refresh.obj  scrreg.obj    \
  360. X        setmode.obj  setterm.obj  stradd.obj   strget.obj    \
  361. X        tabsize.obj  termmisc.obj unctrl.obj   update.obj    \
  362. X        winclear.obj windel.obj   winerase.obj winmove.obj   \
  363. X        winscrol.obj wintouch.obj cursesio.obj
  364. X
  365. X#################################################################
  366. X# 'default' is all that can (and usually is) done        #
  367. X#################################################################
  368. X
  369. Xdefault:    small compact medium large
  370. X
  371. X#################################################################
  372. X# Install the .lib files in $(LIBDIR) directory. Header files    #
  373. X# are already installed - have to be to make make work ;-)    #    
  374. X#################################################################
  375. X
  376. Xinstall:    iheaders ismall icompact imedium ilarge iman
  377. X
  378. X#################################################################
  379. X# The following copies the header files to their proper place    #
  380. X#################################################################
  381. X
  382. Xiheaders:    $(INCDIR)\curses.h $(INCDIR)\curspriv.h
  383. X
  384. X$(INCDIR)\curses.h:    curses.h
  385. X    -attrib    -r $(INCDIR)\curses.h
  386. X    copy curses.h $(INCDIR)\curses.h
  387. X    attrib    +r $(INCDIR)\curses.h
  388. X
  389. X$(INCDIR)\curspriv.h:    curspriv.h
  390. X    -attrib    -r $(INCDIR)\curspriv.h
  391. X    copy curspriv.h $(INCDIR)\curspriv.h
  392. X    attrib    +r $(INCDIR)\curspriv.h
  393. X
  394. X#################################################################
  395. X# Install the manual pages in the man directory            #
  396. X#################################################################
  397. X
  398. Ximan:    $(MANDIR)\curses.3
  399. X
  400. X$(MANDIR)\curses.3: curses.3
  401. X    attrib    -r $(MANDIR)\curses.3
  402. X    copy curses.3 $(MANDIR)\curses.3
  403. X    attrib    +r $(MANDIR)\curses.3
  404. X
  405. X#################################################################
  406. X# The following will create a subdirectory for each memory    #
  407. X# model, and initiate the make:ing in each one.            #
  408. X#################################################################
  409. X# Create work directory if non-existent, go to it, and        #
  410. X# perform the job - small model                    #
  411. X#################################################################
  412. X
  413. Xismall:        small
  414. X        -attrib -r $(LIBDIR)\scurses.lib
  415. X        copy smodel.msc\scurses.lib $(LIBDIR)\scurses.lib
  416. X        -attrib +r $(LIBDIR)\scurses.lib
  417. X
  418. Xsmall:        iheaders        \
  419. X        smodel.msc        \
  420. X        smodel.msc\farnear.inc    \
  421. X        smodel.msc\smalhuge.inc
  422. X    cd    smodel.msc
  423. X    -make  -f ..\makefile.msc $(MAKEFLAGS) "MODEL=s" scurses.lib
  424. X    cd    ..
  425. X
  426. Xsmodel.msc:
  427. X    mkdir            smodel.msc
  428. X
  429. Xsmodel.msc\farnear.inc:        nearcall.inc
  430. X    copy    nearcall.inc    smodel.msc\farnear.inc
  431. X
  432. Xsmodel.msc\smalhuge.inc:    smaldata.inc
  433. X    copy    smaldata.inc    smodel.msc\smalhuge.inc
  434. X
  435. X#################################################################
  436. X# Create work directory if non-existent, go to it, and        #
  437. X# perform the job - compact model                #
  438. X#################################################################
  439. X
  440. Xicompact:    compact
  441. X        -attrib -r $(LIBDIR)\ccurses.lib
  442. X        copy cmodel.msc\ccurses.lib $(LIBDIR)\ccurses.lib
  443. X        -attrib +r $(LIBDIR)\ccurses.lib
  444. X
  445. Xcompact:    iheaders        \
  446. X        cmodel.msc        \
  447. X        cmodel.msc\farnear.inc    \
  448. X        cmodel.msc\smalhuge.inc
  449. X    cd    cmodel.msc
  450. X    -make  -f ..\makefile.msc $(MAKEFLAGS) "MODEL=c" ccurses.lib
  451. X    cd    ..
  452. X
  453. Xcmodel.msc:
  454. X    mkdir            cmodel.msc
  455. X
  456. Xcmodel.msc\farnear.inc:        nearcall.inc
  457. X    copy    nearcall.inc    cmodel.msc\farnear.inc
  458. X
  459. Xcmodel.msc\smalhuge.inc:    hugedata.inc
  460. X    copy    hugedata.inc    cmodel.msc\smalhuge.inc
  461. X
  462. X#################################################################
  463. X# Create work directory if non-existent, go to it, and        #
  464. X# perform the job - medium model                #
  465. X#################################################################
  466. X
  467. Ximedium:    medium
  468. X        -attrib -r $(LIBDIR)\mcurses.lib
  469. X        copy mmodel.msc\mcurses.lib $(LIBDIR)\mcurses.lib
  470. X        -attrib +r $(LIBDIR)\mcurses.lib
  471. X
  472. Xmedium:        iheaders        \
  473. X        mmodel.msc        \
  474. X        mmodel.msc\farnear.inc    \
  475. X        mmodel.msc\smalhuge.inc
  476. X    cd    mmodel.msc
  477. X    -make  -f ..\makefile.msc $(MAKEFLAGS) "MODEL=m" mcurses.lib
  478. X    cd    ..
  479. X
  480. Xmmodel.msc:
  481. X    mkdir            mmodel.msc
  482. X
  483. Xmmodel.msc\farnear.inc:        farcall.inc
  484. X    copy    farcall.inc    mmodel.msc\farnear.inc
  485. X
  486. Xmmodel.msc\smalhuge.inc:    smaldata.inc
  487. X    copy    smaldata.inc    mmodel.msc\smalhuge.inc
  488. X
  489. X#################################################################
  490. X# Create work directory if non-existent, go to it, and        #
  491. X# perform the job - large model                    #
  492. X#################################################################
  493. X
  494. Xilarge:        large
  495. X        -attrib -r $(LIBDIR)\lcurses.lib
  496. X        copy lmodel.msc\lcurses.lib $(LIBDIR)\lcurses.lib
  497. X        -attrib +r $(LIBDIR)\lcurses.lib
  498. X
  499. Xlarge:        iheaders        \
  500. X        lmodel.msc        \
  501. X        lmodel.msc\farnear.inc    \
  502. X        lmodel.msc\smalhuge.inc
  503. X    cd    lmodel.msc
  504. X    -make  -f ..\makefile.msc $(MAKEFLAGS) "MODEL=l" lcurses.lib
  505. X    cd    ..
  506. X
  507. Xlmodel.msc:
  508. X    mkdir            lmodel.msc
  509. X
  510. Xlmodel.msc\farnear.inc:        farcall.inc
  511. X    copy    farcall.inc    lmodel.msc\farnear.inc
  512. X
  513. Xlmodel.msc\smalhuge.inc:    hugedata.inc
  514. X    copy    hugedata.inc    lmodel.msc\smalhuge.inc
  515. X
  516. X#################################################################
  517. X# Put together the library in file tmp.lib, then rename it to    #
  518. X# $(MODEL)curses.lib (You cannot answer 'y' to LIB prompt from    #
  519. X# the .CMD file otherwise).                     #
  520. X#################################################################
  521. X
  522. X$(MODEL)curses.lib:    $(OBJS)
  523. X    del    $(MODEL)curses.lib
  524. X    lib    @..\curses.cmd
  525. X    ren    tmp.lib $(MODEL)curses.lib
  526. X
  527. X#################################################################
  528. X# Commands and dependencies for individual modules        #
  529. X#################################################################
  530. X
  531. Xattrib.obj:    ..\attrib.c ..\curses.h ..\curspriv.h
  532. X    $(CC) $(CFLAGS) -Foattrib ..\attrib.c
  533. X
  534. Xbeep.obj:    ..\beep.c ..\curses.h ..\curspriv.h
  535. X    $(CC) $(CFLAGS) -Fobeep ..\beep.c
  536. X
  537. Xborder.obj:    ..\border.c ..\curses.h ..\curspriv.h
  538. X    $(CC) -M$(MODEL) -c -Oat -W2 -Foborder ..\border.c
  539. X
  540. Xboxes.obj:    ..\boxes.c ..\curses.h ..\curspriv.h
  541. X    $(CC) $(CFLAGS) -Foboxes ..\boxes.c
  542. X
  543. Xcharadd.obj:    ..\charadd.c ..\curses.h ..\curspriv.h
  544. X    $(CC) $(CFLAGS) -Focharadd ..\charadd.c
  545. X
  546. Xchardel.obj:    ..\chardel.c ..\curses.h ..\curspriv.h
  547. X    $(CC) $(CFLAGS) -Fochardel ..\chardel.c
  548. X
  549. Xcharget.obj:    ..\charget.c ..\curses.h ..\curspriv.h
  550. X    $(CC) $(CFLAGS) -Focharget ..\charget.c
  551. X
  552. Xcharins.obj:    ..\charins.c ..\curses.h ..\curspriv.h
  553. X    $(CC) $(CFLAGS) -Focharins ..\charins.c
  554. X
  555. Xcharpick.obj:    ..\charpick.c ..\curses.h ..\curspriv.h
  556. X    $(CC) $(CFLAGS) -Focharpick ..\charpick.c
  557. X
  558. Xclrtobot.obj:    ..\clrtobot.c ..\curses.h ..\curspriv.h
  559. X    $(CC) $(CFLAGS) -Foclrtobot ..\clrtobot.c
  560. X
  561. Xclrtoeol.obj:    ..\clrtoeol.c ..\curses.h ..\curspriv.h
  562. X    $(CC) $(CFLAGS) -Foclrtoeol ..\clrtoeol.c
  563. X
  564. Xendwin.obj:    ..\endwin.c ..\curses.h ..\curspriv.h
  565. X    $(CC) $(CFLAGS) -Foendwin ..\endwin.c
  566. X
  567. Xinitscr.obj:    ..\initscr.c ..\curses.h ..\curspriv.h
  568. X    $(CC) $(CFLAGS) -Foinitscr ..\initscr.c
  569. X
  570. Xlinedel.obj:    ..\linedel.c ..\curses.h ..\curspriv.h
  571. X    $(CC) $(CFLAGS) -Folinedel ..\linedel.c
  572. X
  573. Xlineins.obj:    ..\lineins.c ..\curses.h ..\curspriv.h
  574. X    $(CC) $(CFLAGS) -Folineins ..\lineins.c
  575. X
  576. Xlongname.obj:    ..\longname.c ..\curses.h ..\curspriv.h
  577. X    $(CC) $(CFLAGS) -Folongname ..\longname.c
  578. X
  579. Xmove.obj:    ..\move.c ..\curses.h ..\curspriv.h
  580. X    $(CC) $(CFLAGS) -Fomove ..\move.c
  581. X
  582. Xmvcursor.obj:    ..\mvcursor.c ..\curses.h ..\curspriv.h
  583. X    $(CC) $(CFLAGS) -Fomvcursor ..\mvcursor.c
  584. X
  585. Xnewwin.obj:    ..\newwin.c ..\curses.h ..\curspriv.h
  586. X    $(CC) $(CFLAGS) -Fonewwin ..\newwin.c
  587. X
  588. Xoptions.obj:    ..\options.c ..\curses.h ..\curspriv.h
  589. X    $(CC) $(CFLAGS) -Fooptions ..\options.c
  590. X
  591. Xoverlay.obj:    ..\overlay.c ..\curses.h ..\curspriv.h
  592. X    $(CC) $(CFLAGS) -Fooverlay ..\overlay.c
  593. X
  594. Xprntscan.obj:    ..\prntscan.c ..\curses.h ..\curspriv.h
  595. X    $(CC) -M$(MODEL) -c -Oat -W2 -Foprntscan ..\prntscan.c
  596. X
  597. Xrefresh.obj:    ..\refresh.c ..\curses.h ..\curspriv.h
  598. X    $(CC) $(CFLAGS) -Forefresh ..\refresh.c
  599. X
  600. Xscrreg.obj:    ..\scrreg.c ..\curses.h ..\curspriv.h
  601. X    $(CC) $(CFLAGS) -Foscrreg ..\scrreg.c
  602. X
  603. Xsetmode.obj:    ..\setmode.c ..\curses.h ..\curspriv.h
  604. X    $(CC) $(CFLAGS) -Fosetmode ..\setmode.c
  605. X
  606. Xsetterm.obj:    ..\setterm.c ..\curses.h ..\curspriv.h
  607. X    $(CC) $(CFLAGS) -Fosetterm ..\setterm.c
  608. X
  609. Xstradd.obj:    ..\stradd.c ..\curses.h ..\curspriv.h
  610. X    $(CC) $(CFLAGS) -Fostradd ..\stradd.c
  611. X
  612. Xstrget.obj:    ..\strget.c ..\curses.h ..\curspriv.h
  613. X    $(CC) $(CFLAGS) -Fostrget ..\strget.c
  614. X
  615. Xtabsize.obj:    ..\tabsize.c ..\curses.h ..\curspriv.h
  616. X    $(CC) $(CFLAGS) -Fotabsize ..\tabsize.c
  617. X
  618. Xtermmisc.obj:    ..\termmisc.c ..\curses.h ..\curspriv.h
  619. X    $(CC) $(CFLAGS) -Fotermmisc ..\termmisc.c
  620. X
  621. Xunctrl.obj:    ..\unctrl.c ..\curses.h ..\curspriv.h
  622. X    $(CC) $(CFLAGS) -Founctrl ..\unctrl.c
  623. X
  624. Xupdate.obj:    ..\update.c ..\curses.h ..\curspriv.h
  625. X    $(CC) $(CFLAGS) -Foupdate ..\update.c
  626. X
  627. Xwinclear.obj:    ..\winclear.c ..\curses.h ..\curspriv.h
  628. X    $(CC) $(CFLAGS) -Fowinclear ..\winclear.c
  629. X
  630. Xwindel.obj:    ..\windel.c ..\curses.h ..\curspriv.h
  631. X    $(CC) $(CFLAGS) -Fowindel ..\windel.c
  632. X
  633. Xwinerase.obj:    ..\winerase.c ..\curses.h ..\curspriv.h
  634. X    $(CC) $(CFLAGS) -Fowinerase ..\winerase.c
  635. X
  636. Xwinmove.obj:    ..\winmove.c ..\curses.h ..\curspriv.h
  637. X    $(CC) $(CFLAGS) -Fowinmove ..\winmove.c
  638. X
  639. Xwinscrol.obj:    ..\winscrol.c ..\curses.h ..\curspriv.h
  640. X    $(CC) $(CFLAGS) -Fowinscrol ..\winscrol.c
  641. X
  642. Xwintouch.obj:    ..\wintouch.c ..\curses.h ..\curspriv.h
  643. X    $(CC) $(CFLAGS) -Fowintouch ..\wintouch.c
  644. X
  645. Xcursesio.obj:    ..\cursesio.asm
  646. X    masm ..\cursesio.asm/mx,cursesio.obj,nul,nul;
  647. X
  648. X#################################################################
  649. X# Perform a backup of the files in the directory where the    #
  650. X# 'make backup' command was issued - copies all files to the    #
  651. X# floppy in drive A: or B:                    #
  652. X#################################################################
  653. X
  654. XA_backup:
  655. X    @echo ***** Backup of PCcurses *****
  656. X    @echo Insert backup diskette in drive A: and hit any key!
  657. X    @pause
  658. X    @echo Y > yes.txt
  659. X    del a:\*.* < yes.txt >NUL
  660. X    @del yes.txt
  661. X    copy *.* a:
  662. X
  663. XB_backup:
  664. X    @echo ***** Backup of PCcurses *****
  665. X    @echo Insert backup diskette in drive B: and hit any key!
  666. X    @pause
  667. X    @echo Y > yes.txt
  668. X    del b:\*.* < yes.txt >NUL
  669. X    @del yes.txt
  670. X    copy *.* b:
  671. X
  672. X#################################################################
  673. X# Remove all temporary files and work directories that were    #
  674. X# created                            #
  675. X#################################################################
  676. X
  677. Xclean:
  678. X    @echo Y > yes.txt
  679. X    del smodel.msc\*.* < yes.txt >NUL
  680. X    del cmodel.msc\*.* < yes.txt >NUL
  681. X    del mmodel.msc\*.* < yes.txt >NUL
  682. X    del lmodel.msc\*.* < yes.txt >NUL
  683. X    @del yes.txt
  684. X    rmdir smodel.msc
  685. X    rmdir cmodel.msc
  686. X    rmdir mmodel.msc
  687. X    rmdir lmodel.msc
  688. X
  689. X#################################################################
  690. X# The following is only for the authors installation of his    #
  691. X# special libraries.                        #
  692. X#################################################################
  693. X
  694. Xiau:    iheaders isau icau imau ilau iman
  695. X
  696. Xisau:    small
  697. X    cd    smodel.msc
  698. X    copy    scurses.lib bltmp.lib
  699. X    -attrib    -r $(LIBDIR)\sbllibc.lib
  700. X    -attrib    -r $(LIBDIR)\sbllibc.bak
  701. X    -lib    $(LIBDIR)\sbllibc.lib @..\bllibc.cmd
  702. X    -attrib    +r $(LIBDIR)\sbllibc.lib
  703. X    del    bltmp.lib
  704. X    cd ..
  705. X
  706. Xicau:    compact
  707. X    cd    cmodel.msc
  708. X    copy    ccurses.lib bltmp.lib
  709. X    -attrib    -r $(LIBDIR)\cbllibc.lib
  710. X    -attrib    -r $(LIBDIR)\cbllibc.bak
  711. X    -lib    $(LIBDIR)\cbllibc.lib @..\bllibc.cmd
  712. X    -attrib    +r $(LIBDIR)\cbllibc.lib
  713. X    del    bltmp.lib
  714. X    cd ..
  715. X
  716. Ximau:    medium
  717. X    cd    mmodel.msc
  718. X    copy    mcurses.lib bltmp.lib
  719. X    -attrib    -r $(LIBDIR)\mbllibc.lib
  720. X    -attrib    -r $(LIBDIR)\mbllibc.bak
  721. X    -lib    $(LIBDIR)\mbllibc.lib @..\bllibc.cmd
  722. X    -attrib    +r $(LIBDIR)\mbllibc.lib
  723. X    del    bltmp.lib
  724. X    cd ..
  725. X
  726. Xilau:    large
  727. X    cd    lmodel.msc
  728. X    copy    lcurses.lib bltmp.lib
  729. X    -attrib    -r $(LIBDIR)\lbllibc.lib
  730. X    -attrib    -r $(LIBDIR)\lbllibc.bak
  731. X    -lib    $(LIBDIR)\lbllibc.lib @..\bllibc.cmd
  732. X    -attrib    +r $(LIBDIR)\lbllibc.lib
  733. X    del    bltmp.lib
  734. X    cd ..
  735. X
  736. Xshar:
  737. X    command -c makekit -x *.* >manifest
  738. X    makekit -m *.*
  739. X    del manifest.*
  740. END_OF_makefile.msc
  741. if test 12887 -ne `wc -c <makefile.msc`; then
  742.     echo \"makefile.msc\" unpacked with wrong size!
  743. fi
  744. # end of overwriting check
  745. fi
  746. if test -f makefile.trc -a "${1}" != "-c" ; then 
  747.   echo Will not over-write existing file \"makefile.trc\"
  748. else
  749. echo Extracting - \"makefile.trc\"
  750. sed "s/^X//" >makefile.trc <<'END_OF_makefile.trc'
  751. X#################################################################
  752. X#               PCCURSES                #
  753. X#                                #
  754. X# Makefile to generate $(MODEL)curses.lib            #
  755. X# for Borland Turbo-'C' v.1.0 and 2.0.                #
  756. X#                                #
  757. X# This makefile will generate subdirectories and call itself    #
  758. X# recursively. Some entries in this makefile are only for    #
  759. X# the author's personal use (I preferred to keep my own stuff    #
  760. X# in the same place). Those are at the end of the makefile.    #
  761. X#################################################################
  762. X# 1.4:    Release:                    900114    #
  763. X#################################################################
  764. X
  765. X# The following are the directories where your lib and include
  766. X# files will be installed. These need to be edited for your
  767. X# system. Here are also the default C compiler and the standard
  768. X# compilation flags. Change those if you want to. These are the
  769. X# only changes that should be made to the makefile, unless you
  770. X# have something special in mind...
  771. X
  772. XLIBDIR=\trc\lib
  773. XINCDIR=\trc\inc
  774. XMANDIR=\man
  775. XCC=tcc
  776. XCFLAGS=    -m$(MODEL) -c -O -Z -w -w-pro
  777. X
  778. X#################################################################
  779. X# End of customizable stuff.                    #
  780. X#################################################################
  781. X
  782. XOBJS=        attrib.obj   beep.obj     border.obj   boxes.obj     \
  783. X        charadd.obj  chardel.obj  charget.obj  charins.obj   \
  784. X        charpick.obj clrtobot.obj clrtoeol.obj endwin.obj    \
  785. X        initscr.obj  linedel.obj  lineins.obj  longname.obj  \
  786. X        move.obj     mvcursor.obj newwin.obj   options.obj   \
  787. X        overlay.obj  prntscan.obj refresh.obj  scrreg.obj    \
  788. X        setmode.obj  setterm.obj  stradd.obj   strget.obj    \
  789. X        tabsize.obj  termmisc.obj unctrl.obj   update.obj    \
  790. X        winclear.obj windel.obj   winerase.obj winmove.obj   \
  791. X        winscrol.obj wintouch.obj cursesio.obj
  792. X
  793. X#################################################################
  794. X# 'default' is all that can (and usually is) done        #
  795. X#################################################################
  796. X
  797. Xdefault:    small compact medium large
  798. X
  799. X#################################################################
  800. X# Install the .lib files in $(LIBDIR) directory. Header files    #
  801. X# are already installed - have to be to make make work ;-)    #    
  802. X#################################################################
  803. X
  804. Xinstall:    iheaders ismall icompact imedium ilarge iman
  805. X
  806. X#################################################################
  807. X# The following copies the header files to their proper place    #
  808. X#################################################################
  809. X
  810. Xiheaders:    $(INCDIR)\curses.h $(INCDIR)\curspriv.h
  811. X
  812. X$(INCDIR)\curses.h:    curses.h
  813. X    -attrib    -r $(INCDIR)\curses.h
  814. X    copy curses.h $(INCDIR)\curses.h
  815. X    attrib    +r $(INCDIR)\curses.h
  816. X
  817. X$(INCDIR)\curspriv.h:    curspriv.h
  818. X    -attrib    -r $(INCDIR)\curspriv.h
  819. X    copy curspriv.h $(INCDIR)\curspriv.h
  820. X    attrib    +r $(INCDIR)\curspriv.h
  821. X
  822. X#################################################################
  823. X# Install the manual pages in the man directory            #
  824. X#################################################################
  825. X
  826. Ximan:    $(MANDIR)\curses.3
  827. X
  828. X$(MANDIR)\curses.3: curses.3
  829. X    attrib    -r $(MANDIR)\curses.3
  830. X    copy curses.3 $(MANDIR)\curses.3
  831. X    attrib    +r $(MANDIR)\curses.3
  832. X
  833. X#################################################################
  834. X# The following will create a subdirectory for each memory    #
  835. X# model, and initiate the make:ing in each one.            #
  836. X#################################################################
  837. X# Create work directory if non-existent, go to it, and        #
  838. X# perform the job - small model                    #
  839. X#################################################################
  840. X
  841. Xismall:        small
  842. X        -attrib -r $(LIBDIR)\scurses.lib
  843. X        copy smodel.trc\scurses.lib $(LIBDIR)\scurses.lib
  844. X        -attrib +r $(LIBDIR)\scurses.lib
  845. X
  846. Xsmall:        iheaders        \
  847. X        smodel.trc        \
  848. X        smodel.trc\farnear.inc    \
  849. X        smodel.trc\smalhuge.inc
  850. X    cd    smodel.trc
  851. X    -make  -f ..\makefile.trc $(MAKEFLAGS) "MODEL=s" scurses.lib
  852. X    cd    ..
  853. X
  854. Xsmodel.trc:
  855. X    mkdir            smodel.trc
  856. X
  857. Xsmodel.trc\farnear.inc:        nearcall.inc
  858. X    copy    nearcall.inc    smodel.trc\farnear.inc
  859. X
  860. Xsmodel.trc\smalhuge.inc:    smaldata.inc
  861. X    copy    smaldata.inc    smodel.trc\smalhuge.inc
  862. X
  863. X#################################################################
  864. X# Create work directory if non-existent, go to it, and        #
  865. X# perform the job - compact model                #
  866. X#################################################################
  867. X
  868. Xicompact:    compact
  869. X        -attrib -r $(LIBDIR)\ccurses.lib
  870. X        copy cmodel.trc\ccurses.lib $(LIBDIR)\ccurses.lib
  871. X        -attrib +r $(LIBDIR)\ccurses.lib
  872. X
  873. Xcompact:    iheaders        \
  874. X        cmodel.trc        \
  875. X        cmodel.trc\farnear.inc    \
  876. X        cmodel.trc\smalhuge.inc
  877. X    cd    cmodel.trc
  878. X    -make  -f ..\makefile.trc $(MAKEFLAGS) "MODEL=c" ccurses.lib
  879. X    cd    ..
  880. X
  881. Xcmodel.trc:
  882. X    mkdir            cmodel.trc
  883. X
  884. Xcmodel.trc\farnear.inc:        nearcall.inc
  885. X    copy    nearcall.inc    cmodel.trc\farnear.inc
  886. X
  887. Xcmodel.trc\smalhuge.inc:    hugedata.inc
  888. X    copy    hugedata.inc    cmodel.trc\smalhuge.inc
  889. X
  890. X#################################################################
  891. X# Create work directory if non-existent, go to it, and        #
  892. X# perform the job - medium model                #
  893. X#################################################################
  894. X
  895. Ximedium:    medium
  896. X        -attrib -r $(LIBDIR)\mcurses.lib
  897. X        copy mmodel.trc\mcurses.lib $(LIBDIR)\mcurses.lib
  898. X        -attrib +r $(LIBDIR)\mcurses.lib
  899. X
  900. Xmedium:        iheaders        \
  901. X        mmodel.trc        \
  902. X        mmodel.trc\farnear.inc    \
  903. X        mmodel.trc\smalhuge.inc
  904. X    cd    mmodel.trc
  905. X    -make  -f ..\makefile.trc $(MAKEFLAGS) "MODEL=m" mcurses.lib
  906. X    cd    ..
  907. X
  908. Xmmodel.trc:
  909. X    mkdir            mmodel.trc
  910. X
  911. Xmmodel.trc\farnear.inc:        farcall.inc
  912. X    copy    farcall.inc    mmodel.trc\farnear.inc
  913. X
  914. Xmmodel.trc\smalhuge.inc:    smaldata.inc
  915. X    copy    smaldata.inc    mmodel.trc\smalhuge.inc
  916. X
  917. X#################################################################
  918. X# Create work directory if non-existent, go to it, and        #
  919. X# perform the job - large model                    #
  920. X#################################################################
  921. X
  922. Xilarge:        large
  923. X        -attrib -r $(LIBDIR)\lcurses.lib
  924. X        copy lmodel.trc\lcurses.lib $(LIBDIR)\lcurses.lib
  925. X        -attrib +r $(LIBDIR)\lcurses.lib
  926. X
  927. Xlarge:        iheaders        \
  928. X        lmodel.trc        \
  929. X        lmodel.trc\farnear.inc    \
  930. X        lmodel.trc\smalhuge.inc
  931. X    cd    lmodel.trc
  932. X    -make  -f ..\makefile.trc $(MAKEFLAGS) "MODEL=l" lcurses.lib
  933. X    cd    ..
  934. X
  935. Xlmodel.trc:
  936. X    mkdir            lmodel.trc
  937. X
  938. Xlmodel.trc\farnear.inc:        farcall.inc
  939. X    copy    farcall.inc    lmodel.trc\farnear.inc
  940. X
  941. Xlmodel.trc\smalhuge.inc:    hugedata.inc
  942. X    copy    hugedata.inc    lmodel.trc\smalhuge.inc
  943. X
  944. X#################################################################
  945. X# Put together the library in file tmp.lib, then rename it to    #
  946. X# $(MODEL)curses.lib (You cannot answer 'y' to LIB prompt from    #
  947. X# the .CMD file otherwise).                     #
  948. X#################################################################
  949. X
  950. X$(MODEL)curses.lib:    $(OBJS)
  951. X    del    $(MODEL)curses.lib
  952. X    lib    @..\curses.cmd
  953. X    ren    tmp.lib $(MODEL)curses.lib
  954. X
  955. X#################################################################
  956. X# Commands and dependencies for individual modules        #
  957. X#################################################################
  958. X
  959. Xattrib.obj:    ..\attrib.c ..\curses.h ..\curspriv.h
  960. X    $(CC) $(CFLAGS) -oattrib ..\attrib.c
  961. X
  962. Xbeep.obj:    ..\beep.c ..\curses.h ..\curspriv.h
  963. X    $(CC) $(CFLAGS) -obeep ..\beep.c
  964. X
  965. Xborder.obj:    ..\border.c ..\curses.h ..\curspriv.h
  966. X    $(CC) $(CFLAGS) -N -oborder ..\border.c
  967. X
  968. Xboxes.obj:    ..\boxes.c ..\curses.h ..\curspriv.h
  969. X    $(CC) $(CFLAGS) -oboxes ..\boxes.c
  970. X
  971. Xcharadd.obj:    ..\charadd.c ..\curses.h ..\curspriv.h
  972. X    $(CC) $(CFLAGS) -ocharadd ..\charadd.c
  973. X
  974. Xchardel.obj:    ..\chardel.c ..\curses.h ..\curspriv.h
  975. X    $(CC) $(CFLAGS) -ochardel ..\chardel.c
  976. X
  977. Xcharget.obj:    ..\charget.c ..\curses.h ..\curspriv.h
  978. X    $(CC) $(CFLAGS) -ocharget ..\charget.c
  979. X
  980. Xcharins.obj:    ..\charins.c ..\curses.h ..\curspriv.h
  981. X    $(CC) $(CFLAGS) -ocharins ..\charins.c
  982. X
  983. Xcharpick.obj:    ..\charpick.c ..\curses.h ..\curspriv.h
  984. X    $(CC) $(CFLAGS) -ocharpick ..\charpick.c
  985. X
  986. Xclrtobot.obj:    ..\clrtobot.c ..\curses.h ..\curspriv.h
  987. X    $(CC) $(CFLAGS) -oclrtobot ..\clrtobot.c
  988. X
  989. Xclrtoeol.obj:    ..\clrtoeol.c ..\curses.h ..\curspriv.h
  990. X    $(CC) $(CFLAGS) -oclrtoeol ..\clrtoeol.c
  991. X
  992. Xendwin.obj:    ..\endwin.c ..\curses.h ..\curspriv.h
  993. X    $(CC) $(CFLAGS) -oendwin ..\endwin.c
  994. X
  995. Xinitscr.obj:    ..\initscr.c ..\curses.h ..\curspriv.h
  996. X    $(CC) $(CFLAGS) -oinitscr ..\initscr.c
  997. X
  998. Xlinedel.obj:    ..\linedel.c ..\curses.h ..\curspriv.h
  999. X    $(CC) $(CFLAGS) -olinedel ..\linedel.c
  1000. X
  1001. Xlineins.obj:    ..\lineins.c ..\curses.h ..\curspriv.h
  1002. X    $(CC) $(CFLAGS) -olineins ..\lineins.c
  1003. X
  1004. Xlongname.obj:    ..\longname.c ..\curses.h ..\curspriv.h
  1005. X    $(CC) $(CFLAGS) -olongname ..\longname.c
  1006. X
  1007. Xmove.obj:    ..\move.c ..\curses.h ..\curspriv.h
  1008. X    $(CC) $(CFLAGS) -omove ..\move.c
  1009. X
  1010. Xmvcursor.obj:    ..\mvcursor.c ..\curses.h ..\curspriv.h
  1011. X    $(CC) $(CFLAGS) -w-par -omvcursor ..\mvcursor.c
  1012. X
  1013. Xnewwin.obj:    ..\newwin.c ..\curses.h ..\curspriv.h
  1014. X    $(CC) $(CFLAGS) -onewwin ..\newwin.c
  1015. X
  1016. Xoptions.obj:    ..\options.c ..\curses.h ..\curspriv.h
  1017. X    $(CC) $(CFLAGS) -ooptions ..\options.c
  1018. X
  1019. Xoverlay.obj:    ..\overlay.c ..\curses.h ..\curspriv.h
  1020. X    $(CC) $(CFLAGS) -ooverlay ..\overlay.c
  1021. X
  1022. Xprntscan.obj:    ..\prntscan.c ..\curses.h ..\curspriv.h
  1023. X    $(CC) $(CFLAGS) -N -oprntscan ..\prntscan.c
  1024. X
  1025. Xrefresh.obj:    ..\refresh.c ..\curses.h ..\curspriv.h
  1026. X    $(CC) $(CFLAGS) -orefresh ..\refresh.c
  1027. X
  1028. Xscrreg.obj:    ..\scrreg.c ..\curses.h ..\curspriv.h
  1029. X    $(CC) $(CFLAGS) -oscrreg ..\scrreg.c
  1030. X
  1031. Xsetmode.obj:    ..\setmode.c ..\curses.h ..\curspriv.h
  1032. X    $(CC) $(CFLAGS) -osetmode ..\setmode.c
  1033. X
  1034. Xsetterm.obj:    ..\setterm.c ..\curses.h ..\curspriv.h
  1035. X    $(CC) $(CFLAGS) -osetterm ..\setterm.c
  1036. X
  1037. Xstradd.obj:    ..\stradd.c ..\curses.h ..\curspriv.h
  1038. X    $(CC) $(CFLAGS) -ostradd ..\stradd.c
  1039. X
  1040. Xstrget.obj:    ..\strget.c ..\curses.h ..\curspriv.h
  1041. X    $(CC) $(CFLAGS) -ostrget ..\strget.c
  1042. X
  1043. Xtabsize.obj:    ..\tabsize.c ..\curses.h ..\curspriv.h
  1044. X    $(CC) $(CFLAGS) -otabsize ..\tabsize.c
  1045. X
  1046. Xtermmisc.obj:    ..\termmisc.c ..\curses.h ..\curspriv.h
  1047. X    $(CC) $(CFLAGS) -otermmisc ..\termmisc.c
  1048. X
  1049. Xunctrl.obj:    ..\unctrl.c ..\curses.h ..\curspriv.h
  1050. X    $(CC) $(CFLAGS) -ounctrl ..\unctrl.c
  1051. X
  1052. Xupdate.obj:    ..\update.c ..\curses.h ..\curspriv.h
  1053. X    $(CC) $(CFLAGS) -oupdate ..\update.c
  1054. X
  1055. Xwinclear.obj:    ..\winclear.c ..\curses.h ..\curspriv.h
  1056. X    $(CC) $(CFLAGS) -owinclear ..\winclear.c
  1057. X
  1058. Xwindel.obj:    ..\windel.c ..\curses.h ..\curspriv.h
  1059. X    $(CC) $(CFLAGS) -owindel ..\windel.c
  1060. X
  1061. Xwinerase.obj:    ..\winerase.c ..\curses.h ..\curspriv.h
  1062. X    $(CC) $(CFLAGS) -owinerase ..\winerase.c
  1063. X
  1064. Xwinmove.obj:    ..\winmove.c ..\curses.h ..\curspriv.h
  1065. X    $(CC) $(CFLAGS) -owinmove ..\winmove.c
  1066. X
  1067. Xwinscrol.obj:    ..\winscrol.c ..\curses.h ..\curspriv.h
  1068. X    $(CC) $(CFLAGS) -owinscrol ..\winscrol.c
  1069. X
  1070. Xwintouch.obj:    ..\wintouch.c ..\curses.h ..\curspriv.h
  1071. X    $(CC) $(CFLAGS) -owintouch ..\wintouch.c
  1072. X
  1073. Xcursesio.obj:    ..\cursesio.asm
  1074. X    masm ..\cursesio.asm/mx,cursesio.obj,nul,nul;
  1075. X
  1076. X#################################################################
  1077. X# Perform a backup of the files in the directory where the    #
  1078. X# 'make backup' command was issued - copies all files to the    #
  1079. X# floppy in drive A: or B:                    #
  1080. X#################################################################
  1081. X
  1082. XA_backup:
  1083. X    @echo ***** Backup of PCcurses *****
  1084. X    @echo Insert backup diskette in drive A: and hit any key!
  1085. X    @pause
  1086. X    @echo Y > yes.txt
  1087. X    del a:\*.* < yes.txt >NUL
  1088. X    @del yes.txt
  1089. X    copy *.* a:
  1090. X
  1091. XB_backup:
  1092. X    @echo ***** Backup of PCcurses *****
  1093. X    @echo Insert backup diskette in drive B: and hit any key!
  1094. X    @pause
  1095. X    @echo Y > yes.txt
  1096. X    del b:\*.* < yes.txt >NUL
  1097. X    @del yes.txt
  1098. X    copy *.* b:
  1099. X
  1100. X#################################################################
  1101. X# Remove all temporary files and work directories that were    #
  1102. X# created                            #
  1103. X#################################################################
  1104. X
  1105. Xclean:
  1106. X    @echo Y > yes.txt
  1107. X    del smodel.trc\*.* < yes.txt >NUL
  1108. X    del cmodel.trc\*.* < yes.txt >NUL
  1109. X    del mmodel.trc\*.* < yes.txt >NUL
  1110. X    del lmodel.trc\*.* < yes.txt >NUL
  1111. X    @del yes.txt
  1112. X    rmdir smodel.trc
  1113. X    rmdir cmodel.trc
  1114. X    rmdir mmodel.trc
  1115. X    rmdir lmodel.trc
  1116. X
  1117. X#################################################################
  1118. X# The following is only for the authors installation of his    #
  1119. X# special libraries.                        #
  1120. X#################################################################
  1121. X
  1122. Xiau:    iheaders isau icau imau ilau iman
  1123. X
  1124. Xisau:    small
  1125. X    cd    smodel.trc
  1126. X    copy    scurses.lib bltmp.lib
  1127. X    -attrib    -r $(LIBDIR)\sbllibc.lib
  1128. X    -attrib    -r $(LIBDIR)\sbllibc.bak
  1129. X    -lib    $(LIBDIR)\sbllibc.lib @..\bllibc.cmd
  1130. X    -attrib    +r $(LIBDIR)\sbllibc.lib
  1131. X    del    bltmp.lib
  1132. X    cd ..
  1133. X
  1134. Xicau:    compact
  1135. X    cd    cmodel.trc
  1136. X    copy    ccurses.lib bltmp.lib
  1137. X    -attrib    -r $(LIBDIR)\cbllibc.lib
  1138. X    -attrib    -r $(LIBDIR)\cbllibc.bak
  1139. X    -lib    $(LIBDIR)\cbllibc.lib @..\bllibc.cmd
  1140. X    -attrib    +r $(LIBDIR)\cbllibc.lib
  1141. X    del    bltmp.lib
  1142. X    cd ..
  1143. X
  1144. Ximau:    medium
  1145. X    cd    mmodel.trc
  1146. X    copy    mcurses.lib bltmp.lib
  1147. X    -attrib    -r $(LIBDIR)\mbllibc.lib
  1148. X    -attrib    -r $(LIBDIR)\mbllibc.bak
  1149. X    -lib    $(LIBDIR)\mbllibc.lib @..\bllibc.cmd
  1150. X    -attrib    +r $(LIBDIR)\mbllibc.lib
  1151. X    del    bltmp.lib
  1152. X    cd ..
  1153. X
  1154. Xilau:    large
  1155. X    cd    lmodel.trc
  1156. X    copy    lcurses.lib bltmp.lib
  1157. X    -attrib    -r $(LIBDIR)\lbllibc.lib
  1158. X    -attrib    -r $(LIBDIR)\lbllibc.bak
  1159. X    -lib    $(LIBDIR)\lbllibc.lib @..\bllibc.cmd
  1160. X    -attrib    +r $(LIBDIR)\lbllibc.lib
  1161. X    del    bltmp.lib
  1162. X    cd ..
  1163. X
  1164. Xshar:
  1165. X    command -c makekit -x *.* >manifest
  1166. X    makekit -m *.*
  1167. X    del manifest.*
  1168. END_OF_makefile.trc
  1169. if test 12844 -ne `wc -c <makefile.trc`; then
  1170.     echo \"makefile.trc\" unpacked with wrong size!
  1171. fi
  1172. # end of overwriting check
  1173. fi
  1174. echo End of archive 5 \(of 7\).
  1175. cp /dev/null archdone.5
  1176. MISSING=""
  1177. for I in 1 2 3 4 5 6 7 ; do
  1178.     if test ! -f archdone.${I} ; then
  1179.     MISSING="${MISSING} ${I}"
  1180.     fi
  1181. done
  1182. if test "${MISSING}" = "" ; then
  1183.     echo You have unpacked all 7 archives.
  1184.     rm -f archdone.[1-9]
  1185. else
  1186.     echo You still need to unpack the following archives:
  1187.     echo "        " ${MISSING}
  1188. fi
  1189. ##  End of shell archive.
  1190. exit 0
  1191.  
  1192.